home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 32 / PC Gamer IT CD 32 2-2.iso / drivers / videodrv / cyrrus / CL5446 / WINNT.DRV / OEMSETUP.INF < prev    next >
INI File  |  1996-09-05  |  19KB  |  548 lines

  1.  
  2. [Identification]
  3.     OptionType = VIDEO
  4.  
  5. [LanguagesSupported]
  6.     ENG
  7.  
  8.  
  9. ; Option list order: Option = Miniport driver, BitsPerPel, XResolution, YResolution, VRefresh, Interlaced
  10. ; If you don't want to create a VRefresh or Interlaced value under the service
  11. ; parameters then use the value ""
  12.  
  13.  
  14. [Options]
  15.     "Cirrus Logic 8/16 bpp"        = CL54xx35, 8, 640, 480, 60, 0
  16.  
  17.  
  18. ; This maps detected options into the options we support
  19. ; Format: DetectedOption = MappedOption
  20.  
  21. [MapOfOptions]
  22.     "VGA"                       = "VGA"
  23.     "COMPAQ AVGA"               = "VGA"
  24.     "COMPAQ AGB"                = "VGA"
  25.     "8514 MONITOR UNKNOWN"      = "VGA"
  26.     "8514 VGA MONITOR"          = "VGA"
  27.     "8514 8503 MONO"            = "VGA"
  28.     "8514 8514 GAD"             = "VGA"
  29.     "GENOA VGA"                 = "VGA"
  30.     "VIDEO7 VGA DRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  31.     "VIDEO7 VGA VRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  32.     "TRIDENT VGA"               = "VGA"
  33.     "TRIDENT VGA 9100"          = "VGA"
  34.     "PARADISE VGA"              = "VGA"
  35.     "PARADISE VGA PROM"         = "VGA"
  36.     "PARADISE VGA CHIP 1F"      = "VGA"
  37.     "ATI VGA"                   = "VGA"
  38.     "ATI VGA WONDDER3"          = "VGA"
  39.     "TSENGLAB VGA ET3000"       = "VGA"
  40.     "TSENGLAB VGA ET4000"       = "TSENGLAB VGA ET4000 640x480x4x60"
  41.     "CIRRUS VGA"                = "VGA"
  42.     "CIRRUS VGA 610-620 REVC"   = "VGA"
  43.     "XGA"                       = "XGA 640x480x8"
  44.     "DELL DGX"                  = "DELL DGX 640x480x8"
  45.     "S3 VGA"                    = "S3 VGA 640x480x8"
  46.     "MEDIA VISION VGA"          = "MEDIA VISION VGA 640x480x8"
  47.     "PRODESIGNER II"            = "TSENGLAB VGA ET4000 640x480x4x60"
  48.  
  49.  
  50.  
  51. ; Order of the information:
  52. ; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
  53.  
  54.  
  55. [MiniportDrivers]
  56.     CL54xx35 = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 11, { CL54xx35 }, 1 , %SystemRoot%\System32\IoLogMsg.dll, 7
  57.  
  58.  
  59.  
  60.  
  61. ;-----------------------------------------------------------------------
  62. ; OPTION TEXT SECTION
  63. ; -------------------
  64. ; These are text strings used to identify the option to the user.
  65. ;-----------------------------------------------------------------------
  66.  
  67. [OptionsTextENG]
  68.     "Cirrus Logic 8/16 bpp" = "Cirrus Logic 256/64K/16M Colors"
  69.  
  70.  
  71. ;---------------------------------------------------------------------------
  72. ; 1. Identify
  73. ;
  74. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  75. ;                as we are choosing currently.
  76. ;
  77. ; INPUT:         None
  78. ;
  79. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  80. ;                $($R1): Option Type (COMPUTER ...)
  81. ;                $($R2): Diskette description
  82. ;---------------------------------------------------------------------------
  83.  
  84. [Identify]
  85.     ;
  86.     ;
  87.     read-syms Identification
  88.  
  89.     set Status     = STATUS_SUCCESSFUL
  90.     set Identifier = $(OptionType)
  91.     set Media      = #("Source Media Descriptions", 1, 1)
  92.  
  93.     Return $(Status) $(Identifier) $(Media)
  94.  
  95.  
  96.  
  97. ;------------------------------------------------------------------------
  98. ; 2. ReturnOptions:
  99. ;
  100. ; DESCRIPTION:   To return the option list supported by this INF and the
  101. ;                localised text list representing the options.
  102. ;
  103. ;
  104. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  105. ;
  106. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  107. ;                                STATUS_NOLANGUAGE
  108. ;                                STATUS_FAILED
  109. ;
  110. ;                $($R1): Option List
  111. ;                $($R2): Option Text List
  112. ;------------------------------------------------------------------------
  113.  
  114. [ReturnOptions]
  115.     ;
  116.     ;
  117.     set Status        = STATUS_FAILED
  118.     set OptionList     = {}
  119.     set OptionTextList = {}
  120.  
  121.     ;
  122.     ; Check if the language requested is supported
  123.     ;
  124.     set LanguageList = ^(LanguagesSupported, 1)
  125.     Ifcontains(i) $($0) in $(LanguageList)
  126.         goto returnoptions
  127.     else
  128.         set Status = STATUS_NOLANGUAGE
  129.         goto finish_ReturnOptions
  130.     endif
  131.  
  132.     ;
  133.     ; form a list of all the options and another of the text representing
  134.     ;
  135.  
  136. returnoptions = +
  137.     set OptionList     = ^(Options, 0)
  138.     set OptionTextList = ^(OptionsText$($0), 1)
  139.     set Status         = STATUS_SUCCESSFUL
  140.  
  141. finish_ReturnOptions = +
  142.     Return $(Status) $(OptionList) $(OptionTextList)
  143.  
  144.  
  145.  
  146. ;---------------------------------------------------------------------------
  147. ; MapToSupportedOption
  148. ;
  149. ; DESCRIPTION:   To map a hardware detected option to the NT Supported
  150. ;                option which represents it.
  151. ;
  152. ; INPUT:         $($0): Option
  153. ;
  154. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  155. ;                $($R1): Mapped Option
  156. ;
  157. ;---------------------------------------------------------------------------
  158.  
  159. [MapToSupportedOption]
  160.     ;
  161.     set Status = STATUS_FAILED
  162.     set MappedOption = $($0)
  163.  
  164.     ;
  165.     ; If the option is one we can support using one of our standard options
  166.     ; then map it to the standard option else map it to the default option
  167.     ; which is VGA.
  168.     ;
  169.  
  170.     set OptionList = ^(MapOfOptions, 0)
  171.     ifcontains $($0) in $(OptionList)
  172.         Debug-Output "We are setting the option list here."
  173.         set MappedOption = #(MapOfOptions, $($0), 1)
  174.     else
  175.         set MappedOption = "VGA"
  176.     endif
  177.  
  178.     set Status = STATUS_SUCCESSFUL
  179.     Return $(Status) $(MappedOption)
  180.  
  181.  
  182.  
  183. [ServicesEntry]
  184.     CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
  185.  
  186.  
  187. ;
  188. ; InstallOption:
  189. ;
  190. ; FUNCTION:  To copy files representing Options
  191. ;            To configure the installed option
  192. ;            To update the registry for the installed option
  193. ;
  194. ; INPUT:     $($0):  Language to use
  195. ;            $($1):  OptionID to install
  196. ;            $($2):  SourceDirectory
  197. ;            $($3):  AddCopy  (YES | NO)
  198. ;            $($4):  DoCopy   (YES | NO)
  199. ;            $($5):  DoConfig (YES | NO)
  200. ;
  201. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  202. ;                            STATUS_NOLANGUAGE |
  203. ;                            STATUS_USERCANCEL |
  204. ;                            STATUS_FAILED
  205. ;
  206.  
  207. [InstallOption]
  208.  
  209.     Debug-Output "We are entering Install Option."
  210.  
  211.     ;
  212.     ; Set default values for
  213.     ;
  214.     set Status       = STATUS_FAILED
  215.     set DrivesToFree = {}
  216.  
  217.     ;
  218.     ; extract parameters
  219.     ;
  220.     set Option   = $($1)
  221.     set SrcDir   = $($2)
  222.     set AddCopy  = $($3)
  223.     set DoCopy   = $($4)
  224.     set DoConfig = $($5)
  225.  
  226.     ;
  227.     ; Check if the language requested is supported
  228.     ;
  229.     set LanguageList = ^(LanguagesSupported, 1)
  230.     Ifcontains(i) $($0) in $(LanguageList)
  231.     else
  232.         set Status = STATUS_NOLANGUAGE
  233.         goto finish_InstallOption
  234.     endif
  235.     read-syms Strings$($0)
  236.  
  237.     ;
  238.     ; check to see if Option is supported.
  239.     ;
  240.  
  241.     set OptionList = ^(Options, 0)
  242.     ifcontains $(Option) in $(OptionList)
  243.     else
  244.         goto finish_InstallOption
  245.     endif
  246.     set OptionList = ""
  247.  
  248.     ;
  249.     ; Option has been defined already
  250.     ;
  251.     set MiniportDriver    = #(Options, $(Option), 1)
  252.     set BitsPerPel        = #(Options, $(Option), 2)
  253.     set XResolution       = #(Options, $(Option), 3)
  254.     set YResolution       = #(Options, $(Option), 4)
  255.     set VRefresh          = #(Options, $(Option), 5)
  256.     set Interlaced        = #(Options, $(Option), 6)
  257.  
  258.     set Type              = $(#(MiniportDrivers, $(MiniportDriver), 1))
  259.     set Group             =   #(MiniportDrivers, $(MiniportDriver), 2)
  260.     set ErrorControl      = $(#(MiniportDrivers, $(MiniportDriver), 3))
  261.     set Tag               =   #(MiniportDrivers, $(MiniportDriver), 4)
  262.     set InstalledDisplays =   #(MiniportDrivers, $(MiniportDriver), 5)
  263.     set VgaCompatible     =   #(MiniportDrivers, $(MiniportDriver), 6)
  264.     set EventMessageFile  =   #(MiniportDrivers, $(MiniportDriver), 7)
  265.     set TypesSupported    =   #(MiniportDrivers, $(MiniportDriver), 8)
  266.  
  267.     read-syms ServicesEntry
  268.     detect    ServicesEntry
  269.  
  270. installtheoption = +
  271.  
  272.     ;
  273.     ; Code to add files to copy list
  274.     ;
  275.  
  276.     ifstr(i) $(AddCopy) == "YES"
  277.         set DoActualCopy = NO
  278.         set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  279.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  280.         ifstr(i) $(STATUS) == NO
  281.             set DoActualCopy = YES
  282.             goto addfiles
  283.         endif
  284.         ForListDo $(InstalledDisplays)
  285.             set FileToCheck = #(Files-DisplayDLLs, $($), 3)
  286.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  287.             ifstr(i) $(STATUS) == NO
  288.                 set DoActualCopy = YES
  289.             endif
  290.         EndForListDo
  291.  
  292. addfiles = +
  293.         ifstr(i) $(DoActualCopy) == NO
  294.             shell "subroutn.inf" DriversExist $($0) $(String1)
  295.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  296.                 Debug-Output "VIDEO.INF: shelling DriversExist failed"
  297.                 goto finish_InstallOption
  298.             endif
  299.  
  300.             ifstr(i) $($R0) == STATUS_CURRENT
  301.             else-ifstr(i) $($R0) == STATUS_NEW
  302.                 set DoActualCopy = YES
  303.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  304.                 Debug-Output "VIDEO.INF: User cancelled video installation"
  305.                 goto finish_InstallOption
  306.             else
  307.                 Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  308.                 goto finish_InstallOption
  309.             endif
  310.         endif
  311.  
  312.         ifstr(i) $(DoActualCopy) == YES
  313.  
  314.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  315.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  316.                 Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
  317.                 goto finish_InstallOption
  318.             endif
  319.  
  320.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  321.                 set SrcDir = $($R1)
  322.                 ifstr(i) $($R2) != ""
  323.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  324.                 endif
  325.             else
  326.                 Debug-Output "VIDEO.INF: User cancelled asking source."
  327.                 goto finish_InstallOption
  328.             endif
  329.  
  330.             install Install-AddCopyOption
  331.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  332.                 Debug-Output "VIDEO.INF: Adding video files to copy list failed"
  333.                 goto finish_InstallOption
  334.             endif
  335.         else
  336.             set DoCopy = NO
  337.         endif
  338.  
  339.     endif
  340.  
  341.     ifstr(i) $(DoCopy) == "YES"
  342.         read-syms ProgressCopy$($0)
  343.         install Install-DoCopyOption
  344.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  345.             Debug-Output "Copying files failed"
  346.             goto finish_InstallOption
  347.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  348.             set Status = STATUS_USERCANCEL
  349.             goto finish_InstallOption
  350.         endif
  351.     endif
  352.  
  353.     ifstr(i) $(DoConfig) == "YES"
  354.  
  355.         ;
  356.         ; first run a privilege check on modifying the setup node
  357.         ;
  358.  
  359.         shell "registry.inf" CheckSetupModify
  360.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  361.             goto finish_InstallOption
  362.         endif
  363.  
  364.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  365.             goto finish_InstallOption
  366.         endif
  367.  
  368.         ;
  369.         ; first make a new video entry, the entry is created automatically
  370.         ; enabled
  371.         ;
  372.  
  373.         set ServiceNode   = $(MiniportDriver)
  374.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  375.  
  376.         set ServicesValues   = { +
  377.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  378.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
  379.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  380.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  381.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  382.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  383.                 }
  384.  
  385.         set ParametersValues = { +
  386.                 {InstalledDisplayDrivers,     0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
  387.                 {VgaCompatible,               0, $(!REG_VT_DWORD),    $(VgaCompatible)     }, +
  388.                 {DefaultSettings.BitsPerPel,  0, $(!REG_VT_DWORD),    $(BitsPerPel)        }, +
  389.                 {DefaultSettings.VRefresh,    0, $(!REG_VT_DWORD),    $(VRefresh)          }, +
  390.                 {DefaultSettings.Interlaced,  0, $(!REG_VT_DWORD),    $(Interlaced)        }, +
  391.                 {DefaultSettings.XResolution, 0, $(!REG_VT_DWORD),    $(XResolution)       }, +
  392.                 {DefaultSettings.YResolution, 0, $(!REG_VT_DWORD),    $(YResolution)       }  +
  393.                 }
  394.  
  395.         ifstr(i) $(VRefresh) != ""
  396.             set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
  397.             set ParametersValue = >($(ParametersValue), $(VRefreshValue))
  398.         endif
  399.  
  400.         ifstr(i) $(Interlaced) != ""
  401.             set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
  402.             set ParametersValue = >($(ParametersValue), $(InterlacedValue))
  403.         endif
  404.  
  405.         set DeviceValues     = {}
  406.         set EventLogValues   = { +
  407.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  408.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  409.                 }
  410.  
  411.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  412.                                                 $(ServicesValues)   +
  413.                                                 $(ParametersValues) +
  414.                                                 $(DeviceValues)     +
  415.                                                 $(EventLogValues)   +
  416.                                                 Device0
  417.  
  418.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  419.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  420.             goto finish_InstallOption
  421.         endif
  422.  
  423.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  424.             Debug-Output "MakeServicesEntry failed for video"
  425.             goto finish_InstallOption
  426.         endif
  427.  
  428.         ;
  429.         ;
  430.         ; then disable the previous video entry
  431.         ;
  432.  
  433.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  434.             ifstr(i) $(CurrentEntry) != VGA
  435.                 ifstr(i) $(CurrentEntry) != ""
  436.                     shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
  437.  
  438.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  439.                         Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
  440.                         goto errorconfig
  441.                     endif
  442.  
  443.                     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  444.                         Debug-Output "DisableServices entry failed"
  445.                     endif
  446.                 endif
  447.             endif
  448.         endif
  449.  
  450.         goto configdone
  451.  
  452. errorconfig = +
  453.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  454.             shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
  455.             ifstr(i) $(CurrentEntry) != ""
  456.                 shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
  457.             endif
  458.         endif
  459.         goto finish_InstallOption
  460.  
  461. configdone = +
  462.  
  463.     endif
  464.  
  465.     set Status = STATUS_SUCCESSFUL
  466.  
  467. finish_InstallOption = +
  468.     ForListDo $(DrivesToFree)
  469.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  470.     EndForListDo
  471.  
  472.     Return $(Status)
  473.  
  474.  
  475. [Install-AddCopyOption]
  476.  
  477.     set STF_VITAL = ""
  478.     ;
  479.     ; Add the files to the copy list
  480.     ;
  481.     AddSectionKeyFileToCopyList   Files-DisplayMiniportDrivers   +
  482.                                   $(MiniportDriver)              +
  483.                                   $(SrcDir)                      +
  484.                                   $(!STF_WINDOWSSYSPATH)\drivers
  485.  
  486.     ForListDo $(InstalledDisplays)
  487.         AddSectionKeyFileToCopyList   Files-DisplayDLLs          +
  488.                                       $($)                       +
  489.                                       $(SrcDir)                  +
  490.                                       $(!STF_WINDOWSSYSPATH)
  491.  
  492.     EndForListDo
  493.  
  494.     exit
  495.  
  496.  
  497. [Install-DoCopyOption]
  498.  
  499.     ;
  500.     ; Copy files in the copy list
  501.     ;
  502.     CopyFilesInCopyList
  503.     exit
  504.  
  505. ;**************************************************************************
  506. ; PROGRESS GUAGE VARIABLES
  507. ;**************************************************************************
  508.  
  509. [ProgressCopyENG]
  510.     ProCaption   = "Windows NT Setup"
  511.     ProCancel    = "Cancel"
  512.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  513.                    "to cancel copying files?"
  514.     ProCancelCap = "Setup Message"
  515.     ProText1     = "Copying:"
  516.     ProText2     = "To:"
  517.  
  518. [StringsENG]
  519.     String1 = "Display"
  520.     String2 = "Please enter the full path to the OEM Display "+
  521.               "driver files.  Then choose Continue."
  522.  
  523. ;-----------------------------------------------------------------------
  524. ; SOURCE MEDIA DESCRIPTIONS
  525. ; -------------------------
  526. ; The OEM should list all the diskette labels here.  The source media
  527. ; description is used during copy to prompt the user for a diskette
  528. ; if the source is diskettes.
  529. ;
  530. ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
  531. ;     2 = "Diskette 2 Label" , TAGFILE = disk2
  532. ;     ...
  533. ;-----------------------------------------------------------------------
  534.  
  535. ;--------------------------------------------------------------------
  536. ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
  537. ; SPREAD SHEETS
  538. ;--------------------------------------------------------------------
  539.  
  540. [Source Media Descriptions]
  541.     1  = "Cirrus Logic SETUP (VIDEO)", TAGFILE = cirrus1
  542.  
  543. [Files-DisplayDLLs]
  544. CL54xx35 = 1, CL54xx35.dll, SIZE=58368
  545.  
  546. [Files-DisplayMiniportDrivers]
  547. CL54xx35 = 1, CL54xx35.sys, SIZE=49344
  548.